<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>09.箭头函数的特点</title>
</head>

<body>
    <button id="btnNode">点击我</button>
    <script>
        // 箭头函数通常可以作为匿名函数 
        const arr = ["北京", "上海", "广州"]
        arr.forEach(function (value, index) {
            console.log(index, value);

        })
        console.log("================");
        arr.forEach((value, index) => console.log(index, value))
        // 事件函数不要使用箭头函数  使用箭头函数指向的是window 而非节点
        btnNode.onclick = () => {
            console.log(this);
        }
        /*
          1. 箭头函数不能new 
          2. 箭头函数中没有arguments  必须用 rest参数取代
          3. 箭头函数中没有this  this指向上一级
        */
        const fn01 = (...rest) => {
            // console.log(arguments );
            console.log(rest);
            console.log("xxxx");
        };
        // const f = new fn01()
        // fn01(1,2,3)

        //    const obj = {
        //        name:"小明",
        //        say:function() {

        //            return {
        //               name:"小红",
        //               eat:function() {
        //                 console.log(this);
        //               }.bind(this)
        //            }
        //        }
        //    }

        const obj = {
            name: "小明",
            say: () => {

                return {
                    name: "小红",
                    eat: () => {
                        console.log(this);
                    }
                }
            }
        }


        obj.say().eat()
    </script>

</body>

</html>